"""
SerpApi 配置文件
管理API密钥、基础URL和其他配置参数
"""

import os

# SerpApi 配置
SERPAPI_API_KEY = "5a6f6fc5e8a78749e25081bc336730f438f2f085a124d3a0d616fac0e9f25886"
SERPAPI_BASE_URL = "https://serpapi.com/search"

# 请求配置
REQUEST_TIMEOUT = 30  # 请求超时时间（秒）
MAX_RETRIES = 3       # 最大重试次数
RETRY_DELAY = 1       # 重试延迟（秒）

# Google Scholar 特定配置
GOOGLE_SCHOLAR_ENGINE = "google_scholar"
DEFAULT_LANGUAGE = "en"  # 默认语言
DEFAULT_NUM_RESULTS = 20  # 默认返回结果数量

# 年份过滤配置
TARGET_YEAR = 2025  # 目标年份

# 日志配置
LOG_LEVEL = "INFO"
LOG_FORMAT = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"

def get_api_key():
    """
    获取API密钥
    优先从环境变量获取，如果没有则使用配置文件中的密钥
    """
    return os.getenv('SERPAPI_API_KEY', SERPAPI_API_KEY)

def validate_api_key(api_key=None):
    """
    验证API密钥格式
    """
    if api_key is None:
        api_key = get_api_key()
    
    if not api_key:
        return False, "API密钥不能为空"
    
    if len(api_key) != 64:
        return False, "API密钥长度应为64个字符"
    
    return True, "API密钥格式正确"